export interface ILoginParams {
  /** 用户名 */
  number: string
  /** 密码 */
  password: string
}

export interface ILoginRequestData extends ILoginParams {
  /** 密码  0第一次 1不是第一次*/
  isFirst: 0 | 1
  /** 模式*/
  mode: string
}

export interface ILoginTokenRequestData {
  /** 客户端id */
  client_id: string
  /** 秘钥 */
  secret: string
}

export interface ILoginTokenRestData {
  /** accesstoken */
  access_token: string
  /** 过期时间 */
  expires: string
}

export interface IInfoData {
  /** 用户id */
  id: number
  /** 是否是默认用户 */
  is_default: number
  /** 用户id */
  is_signin: number
  /** 备注 */
  remarks: string
  /** 用户身份名 */
  role_name: string
  /** 用户创建时间 */
  user_create_time: string
  /** 用户邮箱 */
  user_email: string
  /** 用户名字 */
  user_name: string
  /** 用户身份id */
  user_role: string
  /** 用户身份名 */
  user_role_name: string
  /** 用户状态 */
  user_status: number
  /** 用户账号 */
  user_number: string
  /** 用户号码 */
  user_telphone: string
}

/**
 * 用户菜单权限
 */
export interface INode {
  /** 权限id */
  id: number
  /** 权限菜单名字 */
  node_name: string
  /** 权限菜单标题 */
  node_title: string
  node_status: number
  /** 父级 */
  node_pid: number
  /** 级别 */
  node_level: number
  children: INode[]
}

export interface IUserInfoData {
  /** 0为从未登陆过 1为登陆并已修改过密码 */
  is_signin: number
  /** 菜单权限 */
  node: INode[]
  /** 用户详情 */
  userinfo: IInfoData
}

/**
 * @description: 版本号相关数据
 */
export interface VersionResult {
  version: string
}

export interface IToken {
  token: string
}

export interface IVersionData {
  version: string
}

export type LoginCodeResponseData = ApiResponseData<string>

export type LoginTokenResponseData = ApiResponseData<ILoginTokenRestData>

export type UserInfoResponseData = ApiResponseData<IUserInfoData>

export type LoginResponseData<T> = ApiResponseData<T>
